package cn.tedu.jdbc;

import cn.tedu.jdbc.utils.DbUtils;

import java.sql.*;

/**
 * 模糊查询
 */
public class JDBCTest15 {
    public static void main(String[] args) {
        /**
         * 需求：查询员工名字中第二个字母是O的员工信息
         */
        // 查询emp表中ename以任意字符开头，后接'O'且以任意字符结尾的员工姓名
        String sql = "select ename from emp where ename like ?";
        try (
            // 获取数据库连接
            Connection connection = DbUtils.getConnection();
            // 准备SQL语句
            PreparedStatement ps = connection.prepareStatement(sql)
        ) {
            // 设置查询条件，_代表一个任意字符，%代表零个或多个任意字符
            ps.setString(1,"_O%");
            // 执行查询
            ResultSet rs = ps.executeQuery();
            // 遍历查询结果
            while (rs.next()){
                // 获取员工姓名
                String ename = rs.getString("ename");
                // 输出员工姓名
                System.out.println(ename);
            }

        // 捕获SQL异常
        } catch (SQLException e) {
            // 将SQL异常包装成运行时异常抛出
            throw new RuntimeException(e);
        }
    }
}
